.

Evitemos más “muertes por PowerPoint”
Data Storytelling y Python al rescate
Sebastián Flores, PyCon US 2024, 20 Mayo

Acerca de mí


  • Sebastián Flores aka sebastiandres
  • Chief Data Officer en uPlanner
  • Miembro de Python Chile
  • Colaborador de Streamlit y Vizzu
  • Presentador compulsivo

Agenda

  • No
  • Nope
  • Cero posibilidad

Regla #1 de Storytelling:

¡Trata de siempre aumentar el suspenso!

¡No reveles el final antes de tiempo!

Data Storytelling

¿Porqué necesitamos Data Storytelling?

¿Storytelling?





Las historias preceden a toda nuestra tecnología




Data Storytelling:

Usar trucos de Storytelling para crear presentaciones que serán recordadas y que crearán impacto

Emociones crean acciones

Data Storytelling es/será el nuevo Data Science

El mejor ejemplo de Data Storytelling



¿Puede una compañía convencer a millones de compartir estadísticas en redes sociales?


Habilidades


versus


Herramientas

Data Storytelling

Habilidad: Hablar en público





Hablar en público es

aterrador

Data Storytelling

Habilidad: Storytelling

¿Data Storytelling?




Muy fácil de consumir, pero difícil de preparar.

Acerca de las historias





Las historias tienen un inicio, un desarrollo y un final.

Oh, esos imperfectos cerebros humanos…

Figura por sketplanation

Regla Peak-End:

Recordamos el momento más intenso y el final de una actividad.

Controlando la atención





¿Cómo manipular sin ser manipulador?

Data Storytelling

Herramienta: Visualización

Viz: Exploración de Datos

¡Demasiadas opciones!
El usuario no puede ser responsable de encontrar lo valioso.

Viz: Explicación de Datos

¡Muchas y muy buenas librerías de Python!

  • Vieja confiable: Matplotlib
  • Populares: Seaborn, Plotly, Altair
  • Otras: plotnine, pygal, bokeh

Elige una y domínala

No te enfoques en los números. Enfócate en la historia que cuentas con los números.

Ejemplos de Storytelling with Data, por Cole Nussbaumer Knaflic.

Vizzu

Una librería de Data Storytelling para visualización de datos

Show the code
import pandas as pd
 
from ipyvizzu import Data, Config, Style
from ipyvizzustory import Story, Slide, Step
 
 
# Create data object, read csv to data frame and add data frame to data object
data = Data()
df = pd.read_csv(
    "https://ipyvizzu-story.vizzuhq.com/0.9/examples/population/population.csv",
    dtype={"Year": str},
)
data.add_df(df)
 
 
# Create story object, add data to it
story = Story(data=data)
 
# Set the size of the HTML element
# that appears within the notebook
story.set_size("100%", "400px")
 
# Switch on the tooltip that appears
# when the user hovers the mouse over a chart element
story.set_feature("tooltip", True)
 
 
# Each slide here is a page in the final interactive story
# Add the first slide
slide1 = Slide(
    Step(
        Data.filter("record.Continent == 'Africa'"),
        Config.stackedArea(
            {
                "x": "Year",
                "y": "Medium",
                "stackedBy": "Subregion",
                "title": "Population of Africa 1953-2098",
            }
        ),
        Style({"plot": {"xAxis": {"label": {"angle": 2.0}}}}),
    )
)
# Add the slide to the story
story.add_slide(slide1)
 
slide2 = Slide(
    Step(
        Config.percentageArea(
            {
                "x": "Year",
                "y": "Medium",
                "stackedBy": "Subregion",
            }
        ),
    )
)
story.add_slide(slide2)
 
slide3 = Slide(
    Step(
        Config.stream(
            {
                "x": "Year",
                "y": "Medium",
                "stackedBy": "Subregion",
            }
        ),
    )
)
story.add_slide(slide3)
 
slide4 = Slide(
    Step(
        Config.violin(
            {
                "x": "Year",
                "y": "Medium",
                "splittedBy": "Subregion",
            }
        ),
    )
)
story.add_slide(slide4)
 
 
# Play the created story!
story.play()

Data Storytelling

Herramienta: Presentación

Presentation tools

  • Antiguas: PowerPoint
  • Interactivas: quarto, jupyter + RISE, streamlit-slides
  • Otras: canvas, revealjs, prezi

Sistema de publicación científica y técnica, construida en Pandoc.

Foco en markdown científico, código, reproducibilidad e interacción.

Código

---
title: "Habits"
author: "John Doe"
format:
  revealjs:
    transition: fade
    theme: black
    toc: true
    center: true
---

## Getting up

- Turn off alarm
- Get out of bed

---

## Going to sleep 
::: { .incremental }

- Get in bed
- Count sheep

:::

Presentación

Quarto

Ventajas

Desventajas

  • Archivos planos markdown
  • Multipropósito (libros, artículos, presentaciones)
  • Muchas opciones y configuraciones por defecto
  • Gráficos interactivos
  • No puedes ejecutar código “en vivo”.



Jupyter + RISE

Evaluación de código “en vivo”

https://rise.readthedocs.io/

Jupyter + RISE

Todas las cosas buenas de Jupyter…

y todas las partes malas también…

Jupyter + RISE

Ventajas

Desventajas

  • Puedes ejecutar código “en vivo”
  • Compatible con todo el ecosistema de python
  • Muy difícil de personalizar
  • Versionamiento de notebooks no es “git-friendly”



Streamlit-Slides

Tu presentación es una página web

streamlit-slides


https://github.com/sebastiandres/streamlit_slides

¿Cómo decidir?

  • PowerPoint: Presentación sin código, de un único uso.
  • Quarto: Presentación con código, vinculado a otros documentos. Charlas.
  • Jupyter + RISE: Presentación con código interactivo. Talleres y/o clases.
  • Streamlit-Slides: Presentaciones experimentales y/o autocontenidas.

Show don’t tell

Juan estaba muy feliz porque aprobó el examen.

Juan saltaba de alegría por toda la sala, con una sonrisa tan amplia que casi tocaba sus orejas. Su mano izquierda sostenía el papel con la nota máxima, mientras que con la derecha se daba palmadas en el pecho en señal de victoria. El brillo de triunfo en sus ojos lo decía todo.

Data Storytelling

Herramienta: IA

IA para presentaciones

IA Generativa:

  • Imágenes para ilustrar conceptos

Chatbot (LLMs):

  • Contenido
  • Analogías y metáforas
  • Prompts para imágenes

La IA es ese amigo que te da consejos buenos y malos. Quédate con las buenas ideas.

Final

Yo creo que…

  • Data Storytelling será una habilidad diferenciadora
  • Las habilidades y herramientas de Data Storytelling son entretenidas y valiosas de aprender!
  • Data Storytelling te ayudará a hacer mejores presentaciones.

Historias que crean realidades

Data Storytelling para mí

¿Data Storytelling para tí?

Para seguir aprendiendo

¡Buscar en línea!

Libros recomendados

Data Storytelling

  • Storytelling with Data, Cole Nussbaumer Knaflic
  • Data Visualization & Storytelling, Jose Berengueres y Marybeth Sandell

Libros recomendados

Storytelling

  • Storyworthy, Matthew Dicks
  • Made to Stick, Chip Heath y Dan Heath

Retroalimentación

flowchart LR
  A{"¿Té gustó la charla?"} --> |Sí| B{"¿Contestar feedback?"}
  A --> |No| B
  B --> |Sí| C{"¿Recibir RRSS + ppt?"}
  C --> |Sí| D{"¡Mantengámonos en contacto!"}
  D --> Z["¡Gracias por venir a mi charla!"]
  B --> |No| Z
  C --> |No| Z

https://bit.ly/4blGQgb

¡Gracias!